/**
* @Title: SqlUtil.java
* @Package com.beetlsql
* @Description: TODO(用一句话描述该文件做什么)
* @author antch,861710865@qq.com
* @date 2017年7月7日 上午9:30:17
* @version V1.0
*/


package com.beetlsql;

import org.beetl.sql.core.ClasspathLoader;
import org.beetl.sql.core.ConnectionSource;
import org.beetl.sql.core.ConnectionSourceHelper;
import org.beetl.sql.core.Interceptor;
import org.beetl.sql.core.SQLLoader;
import org.beetl.sql.core.SQLManager;
import org.beetl.sql.core.UnderlinedNameConversion;
import org.beetl.sql.core.db.DBStyle;
import org.beetl.sql.core.db.MySqlStyle;
import org.beetl.sql.ext.DebugInterceptor;

/**
* @ClassName: SqlUtil
* @Description: TODO(工具类，用来生成sql，及pojo类)
* @author antch,861710865@qq.com
* @date 2017年7月7日 上午9:30:17
*
*/

public class SqlUtil {

	/**
	* @Title: main
	* @Description: TODO(生成sql，及pojo类)
	* @param @param args    设定文件
	* @return void    返回类型
	* @throws
	*/

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		// TODO Auto-generated method stub

		String driver = "com.mysql.jdbc.Driver";
		String url = "jdbc:mysql:///spring?useUnicode=true&amp;characterEncoding=UTF-8";
		String userName = "root";
		String password = "root";
		ConnectionSource source = ConnectionSourceHelper.getSimple(driver, url, userName, password);

		DBStyle dbStyle = new MySqlStyle();

		//sql語句放在class path的/sql目录下
		String sqlpath = "/sql";
		SQLLoader sqlLoader = new ClasspathLoader(sqlpath);

		// 数据库命名跟java命名一样，所以采用DefaultNameConversion，还有一个是UnderlinedNameConversion，下划线风格的，
		UnderlinedNameConversion nc = new  UnderlinedNameConversion();

		// 最后，创建一个SQLManager,DebugInterceptor 不是必须的，但可以通过它查看sql执行情况
		SQLManager sqlManager = new SQLManager(dbStyle,sqlLoader,source,nc,new Interceptor[]{new DebugInterceptor()});

		try {
			sqlManager.genPojoCodeToConsole("user");
			sqlManager.genSQLTemplateToConsole("user");


			//生成代码到包中
		//	sqlManager.genPojoCode("user", "com.b.model");
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

	}

}
